import Vue from 'vue'
import App from './App.vue'
import router from './router'

Vue.config.productionTip = false

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

  /* 
  Vue-Router：Vue的官方路由插件，可以让我们方便快速的搭建单页面应用（SPA）
  单页面应用（SPA）： 指的是不发生html页面跳转的网站，理论上只有一个html文件，
                    页面的切换则是通过地址栏url路由的不同，展示不同的组件而实现的内容展示
  路由：
    1、后端的路由Node
      本质上就是url网址的pathname部分，作用：为了让后台区分不同的网络请求
    2、前端的路由Vue,React
      本质上也是url网址的部分内容，作用：为了根据路由的不同，展示不同的组件
      路由分类：
      1、history路由：直接以/开头
      2、hash路由：以#开头

      hash路由不需要服务端配合，因为其不会发起真正的网络请求
      而history的正确展示需要服务端配合 
  */

  /* 
  Vue-Router的基本知识点：
  一、基础知识
    1.1 <router-view/>：组件，路由的插座组件，该组件负责展示和切换不同的页面内容
    1.2 <router-link/>：组件，将来会被渲染成a标签，该组件负责地址栏路由的修改
    1.3 routes：数组，用于所有路由信息的配置
    1.4 router：对象，通过JS的语法修改地址栏路由
    1.5 route：对象，当路由传值时，用于获取传来的值
  二、路由传值
    2.1 query查询参数形式传值
      2.1.1 切换路由时，to属性的值由字符串改成对象，路由由path字段负责，传递的值由query字段负责
      2.1.2 query方式传递的值会以键值对的形式直接拼接到路由的后面，与get请求传递参数的格式一致
      2.1.3 因为传递的值拼接到了url网址上，所以，刷新页面，数据不丢失
    2.2 params路径参数形式传值
      2.2.1 切换路由时，to属性的值由字符串改成对象，切换的值由name字段负责，传递的值由params字段负责
      2.2.2 params方式传递值以路径的形式继续拼接到路由的后面，即：/路由/:值1/:值2/:......
      2.2.3 因为传递的值拼接到了url网址上，所以，刷新页面，数据不丢失
  三、通配符路由/懒加载路由/路由重定向
  四、路由嵌套
  五、辅助路由
  六、路由守卫
  七、路由滚动到指定位置
  八、路由动画
  */